1. Field of the Invention
This invention relates to telecommunication systems and, more particularly, to a methodology and concomitant circuitry for transporting information over a channel of fixed capacity wherein the information flow has a transient rate which, at times, exceeds the channel capacity.
2. Description of the Background Art
There exist today digital communication system applications where it is cost-effective to consider communicating a bursty-type data stream over a channel having a capacity less than the peak rate of the data stream. Thus, whereas the instantaneous data transmission requirements of the data stream exceed the channel capacity for transient periods, the average rate of the data stream is less than or equal to the channel capacity so that the channel can ultimately accommodate the stream over the long term.
The subject matter in accordance with the present invention relates to an overall communication system wherein a transmitter and a companion receiver, communicating over a channel of known capacity, cooperatively operate to buffer incoming data in both the transmitter and the receiver to smooth transient peaks in the incoming data stream(s). The transmitter/receiver pair exploits whatever delay is acceptable to the end-user of the data stream(s) for the purpose of accommodating periods of excessive instantaneous data transfer demands.
In general, the prior art deals with a variable rate data stream by focusing on preventing underflow and overflow problems in encoder and decoder buffers. This art mitigates these problems by relatively complex protocols in an attempt to minimize buffer sizes because of the putatively high cost of memory. The protocols that are suggested require knowledge of the content of the data streams or its properties or statistics. However, today memory is relatively inexpensive, so a point of departure of the present invention is that of simplifying the communication protocol by exploiting the low cost of memoryxe2x80x94the memory is used to buffer the data stream at both the transmitter and receiver. Buffering introduces delay as a trade-off to effect smoothing of the data stream; however, the acceptable delay is prescribed by the end-user based upon the end-user""s requirements.
Also, certain of the prior art actually sacrifices the quality of the transmitted stream to accommodate the system objectives. Another point of departure for the present subject matter is that quality is never sacrificed, that is, the data stream is faithfully reproduced after the prescribed delay.
A first patent representative of the technological field of the present invention is U.S. Pat. No. 5,537,446 issued to Lakshman et al (Lakshman) which discloses a methodology for smoothing the data rate of variable bit rate (VBR) streams to obtain efficiencies in multiplexed ATM. In Lakshman, the problem addressed is one of smoothing transmission rates subject to delay constraints, so that multiplexing can be efficiently achieved. In order to do this, it is necessary to know what transmission rate will be required for a given stream in the near future so that bandwidth can be appropriately allocated. Lakshman uses predictions of the immediately future data stream rates based on immediately past data stream rates to predict required network resources. Hence, this technique more effectively utilizes the capacity of a channel for the multiplexed data streams. Limits on the delay of a data stream are met by allocating transmission resources of the multiplexed channel. However, there is no teaching or suggestion of adding buffering at the transmitter and receiver to delay the start of transmission of a data stream so that smoothing can take place. In addition, Lakshman requires a traffic forecasting algorithm for the prediction of required capacity. Moreover, Lakshman is not relevant when there is only one stream to transmit.
Another patent representative of the prior art is U.S. Pat. No. 5,663,962 issued to Caire et al (Caire) which discloses the use of xe2x80x9ctrendsxe2x80x9d in the data rates and the statistics of the data streams to improve the efficiency of the multiplexing process via complex algorithm employing complex mathematical computations. Caire is specifically aimed at multimedia applications. In addition, the focus of Caire is to avoid receiver and transmitter buffer underflow and overflow as required by MPEG1. It is readily appreciated that the problem of preventing buffer underflow and overflow is fundamentally different than increasing channel capacity by using buffering. Underflow and overflow occur because buffers are too small; buffers can be too small for many reasons, among which are cost of memory and sensitivity to delay. Moreover, in Caire, the buffer sizes are fixed, and the method uses statistical properties of constituent data streams of a multimedia data stream to estimate which of the receiver buffers is most in danger of underflow/overflow, and then to select packets from the offered bit streams accordingly.
Another patent concerned with the underflow/overflow problem is U.S. Pat. No. 5,542,853 issued to Haskell et al (Haskell), but which is very specific to video encoding/decoding. Haskell""s teachings and suggestions relate to a methodology which alleviates the need for a decoder to be designed with enough buffer capacity to prevent underflow and overflow given the maximum possible jitter and, also minimizes the decoding delay. Haskell therefore teaches away from a methodology which actually increases the size of the receive buffer and increases decoding delay in order to reduce the variation in the channel data stream rate. Moreover, Haskell is thoroughly grounded in the details of compressed video is transport and depends on the video signal characteristics in that it is necessary to mimic a usage parameter controller of the ATM network to prevent the network from stripping out critical bits. Consequently, Haskell is not broadly applicable.
Another patent in the art is U.S. Pat. No. 5,490,136 issued to Sereno et al. (Sereno), which discloses a method of sharing transmission resources so that variable rate streams that are multiplexed in an ATM link are managed in a way that prevents data stream congestion and underflow. On relevant aspect of Sereno gives the right to transmit to a data stream that has been recently transmitting at less than its allocated average value. The objective of Sereno is to provide dynamic allocation of transmission resources using flow control of multiplexed data streams by measuring flow and requests for transmission to compute a number that indicates when the transmission request will be granted. In accordance with the subject matter of the present invention, sufficient buffering at the transmitter and receiver for each data stream is effected so that the data stream can transmit at a constant rate or take advantage of the reduced variability of a multiplexed data stream. Sereno does use enhanced buffering to achieve the end of smoothing, but Sereno teaches and suggests essentially a protocol for multiplexing variable rate streams that could represent one of the many protocols that might be used in conjunction with the buffering arrangement of the present invention. However, the multiplexing method deployed in the present invention is much simpler because of the buffering for each data stream.
A final patent representative of the technological art is U.S. Pat. No. 4,896,316 issued to Lespagnol et al. (Lespagnol) which discloses a method to allocate transmission resources to comprise variable rate streams in a multiplexed stream. However, Lespagnol provides a protocol for selecting transmission rates and redundancy rates for each of the streams to be multiplexed. Redundancy rates are chosen that reflect how many transmission bits are available in the time interval under consideration. The allocation of resources is done according to a set of cost functions in a traditional cost minimization arrangement. Thus, Lespagnol teaches and suggests the use of a complex algorithm for the allocation of resources and the protocol depends on a knowledge of the content of the data streams that are being multiplexed. Lespagnol does not provide for smoothing nor, consequently, does it provide extra buffering to achieve smoothing.
These shortcomings and other limitations and deficiencies of the prior art are obviated in accordance with the present invention by buffering, in both the transmitter and the receiver, the arriving data streams, as well as by delaying each stream by a delay prescribed by each end-user to smooth transient excess data rates of the streams.
In accordance with one broad aspect of the present invention, a, method for combining several variable rate data streams for transport over a channel of fixed capacity to an end-user system includes: (a) prescribing a delay in each of the data streams acceptable to the end-user system with reference to the fixed capacity, and (b) selectively and variably delaying transport of each of the data streams over the channel as determined by the corresponding delay and channel availability.
In accordance with another broad aspect of the present invention, a method for delivering data to an end-user system over a channel having a predetermined capacity includes: (a) prescribing a delay acceptable to the end-user system; (b) transporting data if the channel is unblocked; (c) storing data if the channel is blocked; and (d) transporting stored data whenever the channel is unblocked so that the data is delivered to the end-user system with the prescribed delay.